home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 4 / Info_Mac IV CD-ROM (Pacific HiTech Inc.)(August 1994).iso / Science / MAL ©P.f.Howden 1⁄1⁄89 / MATRIX⁄FIT < prev    next >
Text File  |  1989-02-08  |  3KB  |  63 lines

  1. 1 CLS:PRINT"MATRIX OPERATIONS,DETERMINANTS,LAGRANGE INTERPOLATION,COEFFICIENTS":PRINT
  2. 2 CLEAR:PRINT"MENU:":PRINT" 1=DETERMINANTS":PRINT" 2=INVERSE MATRIX":PRINT" 3=MULTIPLY MATRIX":PRINT" 4=SOLVE LINEA SIMULTANEOUS EQUATIONS":PRINT" 5=INTERPOLATION+COEFFICIENTS"
  3. 5 DEFDBL A-D,F-G,O-Z:PRINT:PRINT"DEFINE A(I,J)=A(ROW,C0LUMN)":INPUT "SELECT MENU=";E:ON E GOSUB 10,105,200,300,300,400:GOTO 2
  4. 7 PRINT"TRY AGAIN:":GOTO 2
  5. 10 INPUT "DETERMINANT Order,N=";N:N=N-1:DIM A(N,N)
  6. 15 FOR I=0 TO N:FOR J=0 TO N:PRINT"TERM A(";I+1;",";J+1;")=";:INPUT A(I,J):NEXT J:NEXT I
  7. 35 FOR M=N TO 1 STEP -1:P=A(M,M):IF P=0 THEN 55
  8. 40 FOR I=0 TO M-1:Q=A(I,M)/P
  9. 45 FOR J=0 TO M:A(I,J)=A(I,J)-Q*A(M,J):NEXT J:NEXT I:NEXT M
  10. 50 D=A(0,0):FOR I=1 TO N:D=D*A(I,I):NEXT I:PRINT"DETERMINANT=";D:RETURN
  11. 55 PRINT"ERROR":RETURN
  12. 105 INPUT "MATRIX ORDER (N*N),N=";N:N=N-1:DIM A(N,N):PRINT"INPUT MATRIX TERMS:"
  13. 106 REM N<=11
  14. 115 FOR I=0 TO N:FOR J=0 TO N:PRINT"A(";I+1;",";J+1;")=";:INPUT A(I,J):NEXT J:NEXT I
  15. 125 FOR I=0 TO N:A(I,I)=A(I,I)+1:NEXT I
  16. 130 FOR M=0 TO N:P=A(M,M)-1:IF P=0 THEN 185
  17. 135 FOR J=0 TO N:A(M,J)=A(M,J)/P:NEXT J
  18. 140 FOR I=0 TO N:IF I=M THEN 155
  19. 145 Q=A(I,M)
  20. 150 FOR J=0 TO N:A(I,J)=A(I,J)-Q*A(M,J):NEXT J
  21. 155 NEXT I:NEXT M
  22. 160 FOR I=0 TO N:A(I,I)=A(I,I)-1:NEXT I
  23. 163 IF E=4 OR E=5 THEN RETURN
  24. 170 PRINT"INVERSE MATRIX TERMS:":FOR I=0 TO N:FOR J=0 TO N
  25. 175 PRINT"C(";I+1;",";J+1;")=";A(I,J):NEXT J:NEXT I:INPUT "PRESS RETURN";C$:RETURN
  26. 185 PRINT"ERROR":RETURN
  27. 200 PRINT"MATRIX C(N,M)=A(N,L)*B(L,M)"
  28. 205 INPUT "1st MATRIX,NUMBER OF ROWS,N=";N:INPUT "NUMBER OF COLUMNS,L=";L:INPUT "2nd MATRIX,NUMBER OF COLUMNS,M=";M1
  29. 206 REM LIMITS L*(M+N)<=170
  30. 210 N=N-1:L=L-1:M1=M1-1:DIM A(N,L),C(N,M1)
  31. 215 PRINT"INPUTS:":FOR I=0 TO N:FOR J=0 TO L:PRINT"A(";I+1;",";J+1;")=";:INPUT A(I,J):NEXT J:NEXT I
  32. 217 IF E=4 OR E=5 THEN FOR I=0 TO L:FOR J=0 TO M1:PRINT"Y(";I+1;")=";:INPUT B:FOR K=0 TO N:C(K,J)=C(K,J)+A(K,I)*B:NEXT K:NEXT J:NEXT I:RETURN
  33. 220 PRINT:FOR I=0 TO L:FOR J=0 TO M1:PRINT"B(";I+1;",";J+1;")=";:INPUT B
  34. 225 FOR K=0 TO N:C(K,J)=C(K,J)+A(K,I)*B:NEXT K:NEXT J:NEXT I
  35. 227 IF E=4 OR E=5 THEN RETURN
  36. 230 PRINT"RESULTANT PRODUCT MATRIX TERMS:":FOR I=0 TO N:FOR J=0 TO M1:PRINT"C(";I+1;",";J+1;")=";C(I,J):NEXT J:NEXT I:INPUT "END.PRESS RETURN";C$:RETURN
  37. 300 IF E=5 THEN INPUT "NUMBER OF DATA POINTS=";N:M1=0:N=N-1:L=N:GOTO 307
  38. 301 REM N<=11
  39. 302 INPUT "NUMBER OF EQUATIONS=";N:M1=0:N=N-1:L=N::DIM A(N,N),C(N,1),D(N,N)
  40. 304 PRINT"INPUT EQUATIONS COEFFICIENTS:":FOR I=0 TO N:FOR J=0 TO L:PRINT"A(";I+1;",";J+1;")=";:INPUT A(I,J):D(I,J)=A(I,J)
  41. 305 NEXT J:NEXT I:GOTO 325
  42. 307 DIM A(N,N),C(N,N)
  43. 310 FOR I=0 TO N:PRINT"X(";I+1;")=";:INPUT A:FOR J=0 TO N:IF J=0 AND A=0 THEN A(I,J)=1:GOTO 315
  44. 312 A(I,J)=A^J
  45. 315 NEXT J:NEXT I
  46. 325 GOSUB 125:GOSUB 217
  47. 327 IF E=4 THEN FOR I=0 TO N:PRINT"X(";I+1;")=";C(I,0):NEXT I:INPUT "PRESS RETURN";C$:GOTO 345
  48. 328 PRINT"POLYNOMIAL COEFFICIENTS:":FOR I=0 TO N:PRINT C(I,0);"*X^";I:NEXT I
  49. 330 INPUT "CHECK & INTERPOLATE:X=";X
  50. 335 F=C(0,0):FOR I=1 TO N:F=F+C(I,0)*X^I::NEXT I
  51. 340 PRINT"RESULT,Y=";F:F=0:GOTO 330
  52. 345 FOR I=0 TO N:F=F+C(I,0)*D(0,I):NEXT I
  53. 350 PRINT"CHECK IF ";F;"=Y(1):":INPUT "PRESS RETURN";C$:RETURN
  54. 400 INPUT "NUMBER OF POINTS,N=";N:N=N-1:DIM X(N),Y(N),B(N)
  55. 401 REM N<=60
  56. 405 FOR I=0 TO N:PRINT"X(";I+1;")=";:INPUT X(I):NEXT I
  57. 410 FOR I=0 TO N:PRINT"Y(";I+1;")=";:INPUT Y(I):NEXT I
  58. 415 INPUT "REQUIRED X=";Z
  59. 420 P=0:FOR K=0 TO N:B(K)=1:FOR J=0 TO N:IF J=K THEN 430
  60. 425 B(K)=B(K)*(Z-X(J))/(X(K)-X(J))
  61. 430 NEXT J:P=P+B(K)*Y(K):NEXT K:PRINT"RESULT Y=";P:GOTO 415
  62.          MACINTOSH LISTING
  63.